/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.Serializable;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.its.dsw2.zapateriaLes.bl.CategoriaBlLocal;
import mx.its.dsw2.zapateriaLes.modelo.Categoria;

/**
 *
 * @author lesly
 */
@ManagedBean
@SessionScoped
public class CategoriaBean implements Serializable{
    @EJB
    private CategoriaBlLocal categoriaBl;
    private Categoria categoria;
    private List<Categoria> listaCate;
    private int categorySelect;
    private String accion="";

    /**
     * Creates a new instance of CategoriaBean
     */
    public CategoriaBean() {
    }

    public Categoria getCategoria() {
        return categoria;
    }

    public void setCategoria(Categoria categoria) {
        this.categoria = categoria;
    }

    public int getCategorySelect() {
        return categorySelect;
    }

    public void setCategorySelect(int categorySelect) {
        this.categorySelect = categorySelect;
    }

    public List<Categoria> getListaCate() {
        listaCate = categoriaBl.getAll();
        return listaCate;
    }

    public void setListaCate(List<Categoria> listaCate) {
        this.listaCate = listaCate;
    }

    public void agregarCategoria(ActionEvent evnt) {
        listaCate.add(categoriaBl.findById(categorySelect));
    }
    public void prepararNuevo(ActionEvent event){
        accion="Nuevo";
    categoria=new Categoria();
    }
    public String procesarAccion(){
         if(accion.equalsIgnoreCase("Nuevo")){
    categoriaBl.register(categoria);
    }else{
    if(accion.equalsIgnoreCase("Editar")){
    categoriaBl.modify(categoria);
    }else{
    if(accion.equalsIgnoreCase("Eliminar")){
    categoriaBl.delete(categoria);
    }
    }
    }
    accion=" ";
    return "CategoriaLista";
    }
      public void prepararEditar(ActionEvent evt) {
       accion="Editar";
      System.out.println(evt.getComponent().getClientId());        
        int index=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
        categoria=listaCate.get(index);
    } 
   public void prepararEliminar(ActionEvent evt){
   accion="Eliminar";
  // System.out.println(evt.getComponent().getClientId());
    int index=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
        categoria=listaCate.get(index);
   
   }
   
   public String procesarRegresar(){
        if(accion.equalsIgnoreCase("Nuevo")|| accion.equalsIgnoreCase("Editar")){
            return "CategoriaCrearEditar";
        }else{
            return "CategoriaLista";
        }
    }
}
